Immutable Collections in Java with Sealed Types https://foojay.io/today/immutable-collections-in-java-with-sealed-types/